package com.starlink.model.vo.mall;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.starlink.common.domain.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Auther: zhouyuhang01
 * @Date: 2024/4/2 13:27
 * @Description: MallSearchVO
 * @Version 1.0.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("商城管理端售后响应模型")
public class AdminRefundsVO extends BaseVO implements Serializable {
    @ApiModelProperty("订单ID")
    private Long orderId;
    @ApiModelProperty("微信用户ID")
    private Long userId;
    @ApiModelProperty("订单号")
    private String orderNum;
    @ApiModelProperty("微信订单号")
    private String wxOrderNum;
    @ApiModelProperty("交易金额(包含运费)")
    private BigDecimal price;
    @ApiModelProperty("退款金额(不包含运费)")
    private BigDecimal refundPrice;
    @ApiModelProperty("用户名")
    private String userName;
    @ApiModelProperty("手机号")
    private String phoneNum;
    @ApiModelProperty("售后类型 0退货 1换货")
    private Integer goodsServiceType;
    @ApiModelProperty("售后状态 0:待审批 1:待寄回 2:运输中 3:已完成 4:已驳回")
    private Integer status;
    @ApiModelProperty("订单类型 1:书籍订单 2:周边订单 3:积分订单 4:购物车订单")
    private String orderType;
    @ApiModelProperty("地址ID")
    private Long addressId;

    @ApiModelProperty("售后原因")
    private String refundReason;
    @ApiModelProperty("问题图片")
    private String problemPicture;
    @ApiModelProperty("物流单号")
    private String freeNum;
    @ApiModelProperty("物流单图片")
    private String freePicture;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("售后完成时间（也是退款时间）")
    private Date refundDate;

    @ApiModelProperty("商品信息")
    private List<AdminArticlesVO> articlesVOS;
}
